[INFO] fetching crate serde-prc 0.1.1...
[INFO] fixing serde-prc-0.1.1 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate serde-prc 0.1.1 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate serde-prc 0.1.1
[INFO] finished tweaking crates.io crate serde-prc 0.1.1
[INFO] tweaked toml for crates.io crate serde-prc 0.1.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate serde-prc 0.1.1 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 52 packages to latest compatible versions
[INFO] [stderr]       Adding serial_test v2.0.0 (available: v3.5.0)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.18)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b515524220d69abd1e70df32ee6dc7ce6f1accc56e3608bc05c3fdc0c49383f2
[INFO] running `Command { std: "docker" "start" "b515524220d69abd1e70df32ee6dc7ce6f1accc56e3608bc05c3fdc0c49383f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b515524220d69abd1e70df32ee6dc7ce6f1accc56e3608bc05c3fdc0c49383f2" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b515524220d69abd1e70df32ee6dc7ce6f1accc56e3608bc05c3fdc0c49383f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b515524220d69abd1e70df32ee6dc7ce6f1accc56e3608bc05c3fdc0c49383f2" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling binrw_derive v0.11.3
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]    Compiling owo-colors v3.5.0
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling binrw v0.11.3
[INFO] [stderr]     Checking array-init v2.1.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking bimap v0.6.3
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serial_test_derive v2.0.0
[INFO] [stderr]     Checking serial_test v2.0.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling diff_derive v0.1.2
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking diff-struct v0.3.1
[INFO] [stderr]     Checking hash40 v1.3.1
[INFO] [stderr]     Checking serde-prc v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/lib.rs (1 fix)
[INFO] [stderr]        Fixed src/de.rs (4 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         ^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         ^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         ^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/tests.rs (7 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         ^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         ^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         ^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         ^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         ^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         ^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         ^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         ^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         ^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         &mut ValueDeserializer::new(
[INFO] [stdout] 16 | |             ReferenceData::empty(),
[INFO] [stdout] 17 | |             &$hashes,
[INFO] [stdout] 18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 19 | |         )
[INFO] [stdout]    | |         ^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 87 |               Hash40::deserialize(deserializer!(HASHES, FIRST)).unwrap(),
[INFO] [stdout]    |                                   ---------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         &mut ValueDeserializer::new(
[INFO] [stdout] 16 | |             ReferenceData::empty(),
[INFO] [stdout] 17 | |             &$hashes,
[INFO] [stdout] 18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 19 | |         )
[INFO] [stdout]    | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 87 |               Hash40::deserialize(deserializer!(HASHES, FIRST)).unwrap(),
[INFO] [stdout]    |                                   ---------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         &mut ValueDeserializer::new(
[INFO] [stdout] 16 | |             ReferenceData::empty(),
[INFO] [stdout] 17 | |             &$hashes,
[INFO] [stdout] 18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 19 | |         )
[INFO] [stdout]    | |         ^
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 91 |               Hash40::deserialize(deserializer!(HASHES, SECOND)).unwrap(),
[INFO] [stdout]    |                                   ----------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tests.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         &mut ValueDeserializer::new(
[INFO] [stdout] 16 | |             ReferenceData::empty(),
[INFO] [stdout] 17 | |             &$hashes,
[INFO] [stdout] 18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout] 19 | |         )
[INFO] [stdout]    | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 91 |               Hash40::deserialize(deserializer!(HASHES, SECOND)).unwrap(),
[INFO] [stdout]    |                                   ----------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  16 | |             ReferenceData::empty(),
[INFO] [stdout]  17 | |             &$hashes,
[INFO] [stdout]  18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]  19 | |         )
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 101 |               u64::deserialize(deserializer!(HASHES, FIRST)).unwrap(),
[INFO] [stdout]     |                                ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:18:13
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  16 | |             ReferenceData::empty(),
[INFO] [stdout]  17 | |             &$hashes,
[INFO] [stdout]  18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]     | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]  19 | |         )
[INFO] [stdout]     | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 101 |               u64::deserialize(deserializer!(HASHES, FIRST)).unwrap(),
[INFO] [stdout]     |                                ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  16 | |             ReferenceData::empty(),
[INFO] [stdout]  17 | |             &$hashes,
[INFO] [stdout]  18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]  19 | |         )
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 105 |               u64::deserialize(deserializer!(HASHES, SECOND)).unwrap(),
[INFO] [stdout]     |                                ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:18:13
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  16 | |             ReferenceData::empty(),
[INFO] [stdout]  17 | |             &$hashes,
[INFO] [stdout]  18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]     | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]  19 | |         )
[INFO] [stdout]     | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 105 |               u64::deserialize(deserializer!(HASHES, SECOND)).unwrap(),
[INFO] [stdout]     |                                ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  16 | |             ReferenceData::empty(),
[INFO] [stdout]  17 | |             &$hashes,
[INFO] [stdout]  18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]  19 | |         )
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 116 |               String::deserialize(deserializer!(HASHES, FIRST)).unwrap(),
[INFO] [stdout]     |                                   ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:18:13
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  16 | |             ReferenceData::empty(),
[INFO] [stdout]  17 | |             &$hashes,
[INFO] [stdout]  18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]     | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]  19 | |         )
[INFO] [stdout]     | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 116 |               String::deserialize(deserializer!(HASHES, FIRST)).unwrap(),
[INFO] [stdout]     |                                   ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  16 | |             ReferenceData::empty(),
[INFO] [stdout]  17 | |             &$hashes,
[INFO] [stdout]  18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]  19 | |         )
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 120 |               String::deserialize(deserializer!(HASHES, SECOND)).unwrap(),
[INFO] [stdout]     |                                   ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:18:13
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  16 | |             ReferenceData::empty(),
[INFO] [stdout]  17 | |             &$hashes,
[INFO] [stdout]  18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]     | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]  19 | |         )
[INFO] [stdout]     | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 120 |               String::deserialize(deserializer!(HASHES, SECOND)).unwrap(),
[INFO] [stdout]     |                                   ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  16 | |             ReferenceData::empty(),
[INFO] [stdout]  17 | |             &$hashes,
[INFO] [stdout]  18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]  19 | |         )
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 135 |               String::deserialize(deserializer!(HASHES, FIRST)).unwrap(),
[INFO] [stdout]     |                                   ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.64s
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:18:13
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  16 | |             ReferenceData::empty(),
[INFO] [stdout]  17 | |             &$hashes,
[INFO] [stdout]  18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]     | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]  19 | |         )
[INFO] [stdout]     | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 135 |               String::deserialize(deserializer!(HASHES, FIRST)).unwrap(),
[INFO] [stdout]     |                                   ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: binrw v0.11.3
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:15:9
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  16 | |             ReferenceData::empty(),
[INFO] [stdout]  17 | |             &$hashes,
[INFO] [stdout]  18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]  19 | |         )
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this temporary value will be dropped at the end of the block
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 139 |               String::deserialize(deserializer!(HASHES, SECOND)).unwrap(),
[INFO] [stdout]     |                                   ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:18:13
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  16 | |             ReferenceData::empty(),
[INFO] [stdout]  17 | |             &$hashes,
[INFO] [stdout]  18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]     | |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]  19 | |         )
[INFO] [stdout]     | |_________- borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 139 |               String::deserialize(deserializer!(HASHES, SECOND)).unwrap(),
[INFO] [stdout]     |                                   ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:22:9
[INFO] [stdout]     |
[INFO] [stdout]  22 |           &mut ValueDeserializer::new($reference, &$hashes, &mut std::io::Cursor::new($slice))
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this temporary value will be dropped at the end of the block
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 157 |           String::deserialize(deserializer!(
[INFO] [stdout]     |  _____________________________-
[INFO] [stdout] 158 | |             ReferenceData::mock(REFERENCE_BYTES),
[INFO] [stdout] 159 | |             [],
[INFO] [stdout] 160 | |             FIRST
[INFO] [stdout] 161 | |         ))
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:22:59
[INFO] [stdout]     |
[INFO] [stdout]  22 |           &mut ValueDeserializer::new($reference, &$hashes, &mut std::io::Cursor::new($slice))
[INFO] [stdout]     |           --------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |           |                                                 |
[INFO] [stdout]     |           |                                                 this temporary value will be dropped at the end of the block
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 157 |           String::deserialize(deserializer!(
[INFO] [stdout]     |  _____________________________-
[INFO] [stdout] 158 | |             ReferenceData::mock(REFERENCE_BYTES),
[INFO] [stdout] 159 | |             [],
[INFO] [stdout] 160 | |             FIRST
[INFO] [stdout] 161 | |         ))
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:22:9
[INFO] [stdout]     |
[INFO] [stdout]  22 |           &mut ValueDeserializer::new($reference, &$hashes, &mut std::io::Cursor::new($slice))
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this temporary value will be dropped at the end of the block
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 166 |           String::deserialize(deserializer!(
[INFO] [stdout]     |  _____________________________-
[INFO] [stdout] 167 | |             ReferenceData::mock(REFERENCE_BYTES),
[INFO] [stdout] 168 | |             [],
[INFO] [stdout] 169 | |             SECOND
[INFO] [stdout] 170 | |         ))
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:22:59
[INFO] [stdout]     |
[INFO] [stdout]  22 |           &mut ValueDeserializer::new($reference, &$hashes, &mut std::io::Cursor::new($slice))
[INFO] [stdout]     |           --------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |           |                                                 |
[INFO] [stdout]     |           |                                                 this temporary value will be dropped at the end of the block
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 166 |           String::deserialize(deserializer!(
[INFO] [stdout]     |  _____________________________-
[INFO] [stdout] 167 | |             ReferenceData::mock(REFERENCE_BYTES),
[INFO] [stdout] 168 | |             [],
[INFO] [stdout] 169 | |             SECOND
[INFO] [stdout] 170 | |         ))
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:22:9
[INFO] [stdout]     |
[INFO] [stdout]  22 |           &mut ValueDeserializer::new($reference, &$hashes, &mut std::io::Cursor::new($slice))
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this temporary value will be dropped at the end of the block
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 175 |       assert!(String::deserialize(deserializer!(
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout] 176 | |         ReferenceData::mock(REFERENCE_BYTES),
[INFO] [stdout] 177 | |         [],
[INFO] [stdout] 178 | |         THIRD
[INFO] [stdout] 179 | |     ))
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:22:59
[INFO] [stdout]     |
[INFO] [stdout]  22 |           &mut ValueDeserializer::new($reference, &$hashes, &mut std::io::Cursor::new($slice))
[INFO] [stdout]     |           --------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |           |                                                 |
[INFO] [stdout]     |           |                                                 this temporary value will be dropped at the end of the block
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 175 |       assert!(String::deserialize(deserializer!(
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout] 176 | |         ReferenceData::mock(REFERENCE_BYTES),
[INFO] [stdout] 177 | |         [],
[INFO] [stdout] 178 | |         THIRD
[INFO] [stdout] 179 | |     ))
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:22:9
[INFO] [stdout]     |
[INFO] [stdout]  22 |         &mut ValueDeserializer::new($reference, &$hashes, &mut std::io::Cursor::new($slice))
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this temporary value will be dropped at the end of the block
[INFO] [stdout]     |         borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 183 |         String::deserialize(deserializer!(ReferenceData::mock(REF_BYTES_4), [], FOURTH)).is_err()
[INFO] [stdout]     |                             ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/tests.rs:22:59
[INFO] [stdout]     |
[INFO] [stdout]  22 |         &mut ValueDeserializer::new($reference, &$hashes, &mut std::io::Cursor::new($slice))
[INFO] [stdout]     |         --------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |         |                                                 |
[INFO] [stdout]     |         |                                                 this temporary value will be dropped at the end of the block
[INFO] [stdout]     |         borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 183 |         String::deserialize(deserializer!(ReferenceData::mock(REF_BYTES_4), [], FOURTH)).is_err()
[INFO] [stdout]     |                             ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: serde-prc v0.1.1 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking serde-prc v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/de.rs:487:13
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let offset = self.reader.stream_position()?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/de.rs:487:13
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let offset = self.reader.stream_position()?;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:8:14
[INFO] [stdout]    |
[INFO] [stdout]  8 |            &mut ValueDeserializer::new(
[INFO] [stdout]    |   _________-    ^
[INFO] [stdout]    |  |______________|
[INFO] [stdout]  9 | ||             ReferenceData::empty(),
[INFO] [stdout] 10 | ||             &[],
[INFO] [stdout] 11 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | ||         )
[INFO] [stdout]    | ||         ^
[INFO] [stdout]    | ||         |
[INFO] [stdout]    | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]    |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]    |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 |  / decl_value_tests! {
[INFO] [stdout] 42 |  |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 |  |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 |  |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...   |
[INFO] [stdout] 70 |  | }
[INFO] [stdout]    |  |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:8:14
[INFO] [stdout]    |
[INFO] [stdout]  8 |            &mut ValueDeserializer::new(
[INFO] [stdout]    |   _________-    ^
[INFO] [stdout]    |  |______________|
[INFO] [stdout]  9 | ||             ReferenceData::empty(),
[INFO] [stdout] 10 | ||             &[],
[INFO] [stdout] 11 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | ||         )
[INFO] [stdout]    | ||         ^
[INFO] [stdout]    | ||         |
[INFO] [stdout]    | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]    |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]    |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 |  / decl_value_tests! {
[INFO] [stdout] 42 |  |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 |  |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 |  |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...   |
[INFO] [stdout] 70 |  | }
[INFO] [stdout]    |  |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:8:14
[INFO] [stdout]    |
[INFO] [stdout]  8 |            &mut ValueDeserializer::new(
[INFO] [stdout]    |   _________-    ^
[INFO] [stdout]    |  |______________|
[INFO] [stdout]  9 | ||             ReferenceData::empty(),
[INFO] [stdout] 10 | ||             &[],
[INFO] [stdout] 11 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | ||         )
[INFO] [stdout]    | ||         ^
[INFO] [stdout]    | ||         |
[INFO] [stdout]    | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]    |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]    |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 |  / decl_value_tests! {
[INFO] [stdout] 42 |  |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 |  |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 |  |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...   |
[INFO] [stdout] 70 |  | }
[INFO] [stdout]    |  |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:8:14
[INFO] [stdout]    |
[INFO] [stdout]  8 |            &mut ValueDeserializer::new(
[INFO] [stdout]    |   _________-    ^
[INFO] [stdout]    |  |______________|
[INFO] [stdout]  9 | ||             ReferenceData::empty(),
[INFO] [stdout] 10 | ||             &[],
[INFO] [stdout] 11 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | ||         )
[INFO] [stdout]    | ||         ^
[INFO] [stdout]    | ||         |
[INFO] [stdout]    | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]    |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]    |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 |  / decl_value_tests! {
[INFO] [stdout] 42 |  |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 |  |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 |  |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...   |
[INFO] [stdout] 70 |  | }
[INFO] [stdout]    |  |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:8:14
[INFO] [stdout]    |
[INFO] [stdout]  8 |            &mut ValueDeserializer::new(
[INFO] [stdout]    |   _________-    ^
[INFO] [stdout]    |  |______________|
[INFO] [stdout]  9 | ||             ReferenceData::empty(),
[INFO] [stdout] 10 | ||             &[],
[INFO] [stdout] 11 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | ||         )
[INFO] [stdout]    | ||         ^
[INFO] [stdout]    | ||         |
[INFO] [stdout]    | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]    |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]    |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 |  / decl_value_tests! {
[INFO] [stdout] 42 |  |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 |  |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 |  |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...   |
[INFO] [stdout] 70 |  | }
[INFO] [stdout]    |  |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:8:14
[INFO] [stdout]    |
[INFO] [stdout]  8 |            &mut ValueDeserializer::new(
[INFO] [stdout]    |   _________-    ^
[INFO] [stdout]    |  |______________|
[INFO] [stdout]  9 | ||             ReferenceData::empty(),
[INFO] [stdout] 10 | ||             &[],
[INFO] [stdout] 11 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | ||         )
[INFO] [stdout]    | ||         ^
[INFO] [stdout]    | ||         |
[INFO] [stdout]    | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]    |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]    |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 |  / decl_value_tests! {
[INFO] [stdout] 42 |  |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 |  |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 |  |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...   |
[INFO] [stdout] 70 |  | }
[INFO] [stdout]    |  |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:8:14
[INFO] [stdout]    |
[INFO] [stdout]  8 |            &mut ValueDeserializer::new(
[INFO] [stdout]    |   _________-    ^
[INFO] [stdout]    |  |______________|
[INFO] [stdout]  9 | ||             ReferenceData::empty(),
[INFO] [stdout] 10 | ||             &[],
[INFO] [stdout] 11 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | ||         )
[INFO] [stdout]    | ||         ^
[INFO] [stdout]    | ||         |
[INFO] [stdout]    | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]    |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]    |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 |  / decl_value_tests! {
[INFO] [stdout] 42 |  |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 |  |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 |  |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...   |
[INFO] [stdout] 70 |  | }
[INFO] [stdout]    |  |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:8:14
[INFO] [stdout]    |
[INFO] [stdout]  8 |            &mut ValueDeserializer::new(
[INFO] [stdout]    |   _________-    ^
[INFO] [stdout]    |  |______________|
[INFO] [stdout]  9 | ||             ReferenceData::empty(),
[INFO] [stdout] 10 | ||             &[],
[INFO] [stdout] 11 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | ||         )
[INFO] [stdout]    | ||         ^
[INFO] [stdout]    | ||         |
[INFO] [stdout]    | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]    |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]    |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 |  / decl_value_tests! {
[INFO] [stdout] 42 |  |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 |  |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 |  |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...   |
[INFO] [stdout] 70 |  | }
[INFO] [stdout]    |  |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:8:14
[INFO] [stdout]    |
[INFO] [stdout]  8 |            &mut ValueDeserializer::new(
[INFO] [stdout]    |   _________-    ^
[INFO] [stdout]    |  |______________|
[INFO] [stdout]  9 | ||             ReferenceData::empty(),
[INFO] [stdout] 10 | ||             &[],
[INFO] [stdout] 11 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | ||         )
[INFO] [stdout]    | ||         ^
[INFO] [stdout]    | ||         |
[INFO] [stdout]    | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]    |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]    |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 |  / decl_value_tests! {
[INFO] [stdout] 42 |  |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 |  |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 |  |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...   |
[INFO] [stdout] 70 |  | }
[INFO] [stdout]    |  |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:8:14
[INFO] [stdout]    |
[INFO] [stdout]  8 |            &mut ValueDeserializer::new(
[INFO] [stdout]    |   _________-    ^
[INFO] [stdout]    |  |______________|
[INFO] [stdout]  9 | ||             ReferenceData::empty(),
[INFO] [stdout] 10 | ||             &[],
[INFO] [stdout] 11 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | ||         )
[INFO] [stdout]    | ||         ^
[INFO] [stdout]    | ||         |
[INFO] [stdout]    | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]    |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]    |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 |  / decl_value_tests! {
[INFO] [stdout] 42 |  |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 |  |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 |  |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...   |
[INFO] [stdout] 70 |  | }
[INFO] [stdout]    |  |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:8:14
[INFO] [stdout]    |
[INFO] [stdout]  8 |            &mut ValueDeserializer::new(
[INFO] [stdout]    |   _________-    ^
[INFO] [stdout]    |  |______________|
[INFO] [stdout]  9 | ||             ReferenceData::empty(),
[INFO] [stdout] 10 | ||             &[],
[INFO] [stdout] 11 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | ||         )
[INFO] [stdout]    | ||         ^
[INFO] [stdout]    | ||         |
[INFO] [stdout]    | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]    |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]    |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 |  / decl_value_tests! {
[INFO] [stdout] 42 |  |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 |  |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 |  |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...   |
[INFO] [stdout] 70 |  | }
[INFO] [stdout]    |  |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:8:14
[INFO] [stdout]    |
[INFO] [stdout]  8 |            &mut ValueDeserializer::new(
[INFO] [stdout]    |   _________-    ^
[INFO] [stdout]    |  |______________|
[INFO] [stdout]  9 | ||             ReferenceData::empty(),
[INFO] [stdout] 10 | ||             &[],
[INFO] [stdout] 11 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 12 | ||         )
[INFO] [stdout]    | ||         ^
[INFO] [stdout]    | ||         |
[INFO] [stdout]    | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]    |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]    |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 |  / decl_value_tests! {
[INFO] [stdout] 42 |  |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 |  |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 |  |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...   |
[INFO] [stdout] 70 |  | }
[INFO] [stdout]    |  |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout]  8 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  9 | |             ReferenceData::empty(),
[INFO] [stdout] 10 | |             &[],
[INFO] [stdout] 11 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 12 | |         )
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 41 | / decl_value_tests! {
[INFO] [stdout] 42 | |     [deserialize_bool, bool] => {
[INFO] [stdout] 43 | |         FALSE: [0x01, 0x00] = false,
[INFO] [stdout] 44 | |         TRUE: [0x01, 0x01] = true,
[INFO] [stdout] ...  |
[INFO] [stdout] 70 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` which comes from the expansion of the macro `decl_value_tests` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 |            &mut ValueDeserializer::new(
[INFO] [stdout]    |   _________-    ^
[INFO] [stdout]    |  |______________|
[INFO] [stdout] 16 | ||             ReferenceData::empty(),
[INFO] [stdout] 17 | ||             &$hashes,
[INFO] [stdout] 18 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 19 | ||         )
[INFO] [stdout]    | ||         ^
[INFO] [stdout]    | ||         |
[INFO] [stdout]    | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]    |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]    |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 87 |                Hash40::deserialize(deserializer!(HASHES, FIRST)).unwrap(),
[INFO] [stdout]    |                                    ---------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 |            &mut ValueDeserializer::new(
[INFO] [stdout]    |   _________-    ^
[INFO] [stdout]    |  |______________|
[INFO] [stdout] 16 | ||             ReferenceData::empty(),
[INFO] [stdout] 17 | ||             &$hashes,
[INFO] [stdout] 18 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout] 19 | ||         )
[INFO] [stdout]    | ||         ^
[INFO] [stdout]    | ||         |
[INFO] [stdout]    | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]    |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]    |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 91 |                Hash40::deserialize(deserializer!(HASHES, SECOND)).unwrap(),
[INFO] [stdout]    |                                    ----------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         &mut ValueDeserializer::new(
[INFO] [stdout] 16 | |             ReferenceData::empty(),
[INFO] [stdout] 17 | |             &$hashes,
[INFO] [stdout] 18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 19 | |         )
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 87 |               Hash40::deserialize(deserializer!(HASHES, FIRST)).unwrap(),
[INFO] [stdout]    |                                   ---------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/tests.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 15 | /         &mut ValueDeserializer::new(
[INFO] [stdout] 16 | |             ReferenceData::empty(),
[INFO] [stdout] 17 | |             &$hashes,
[INFO] [stdout] 18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]    | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout] 19 | |         )
[INFO] [stdout]    | |         -
[INFO] [stdout]    | |         |
[INFO] [stdout]    | |_________temporary value is freed at the end of this statement
[INFO] [stdout]    |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 91 |               Hash40::deserialize(deserializer!(HASHES, SECOND)).unwrap(),
[INFO] [stdout]    |                                   ----------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]    = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:15:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |            &mut ValueDeserializer::new(
[INFO] [stdout]     |   _________-    ^
[INFO] [stdout]     |  |______________|
[INFO] [stdout]  16 | ||             ReferenceData::empty(),
[INFO] [stdout]  17 | ||             &$hashes,
[INFO] [stdout]  18 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout]  19 | ||         )
[INFO] [stdout]     | ||         ^
[INFO] [stdout]     | ||         |
[INFO] [stdout]     | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]     |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]     |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 101 |                u64::deserialize(deserializer!(HASHES, FIRST)).unwrap(),
[INFO] [stdout]     |                                 ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:15:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |            &mut ValueDeserializer::new(
[INFO] [stdout]     |   _________-    ^
[INFO] [stdout]     |  |______________|
[INFO] [stdout]  16 | ||             ReferenceData::empty(),
[INFO] [stdout]  17 | ||             &$hashes,
[INFO] [stdout]  18 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout]  19 | ||         )
[INFO] [stdout]     | ||         ^
[INFO] [stdout]     | ||         |
[INFO] [stdout]     | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]     |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]     |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 105 |                u64::deserialize(deserializer!(HASHES, SECOND)).unwrap(),
[INFO] [stdout]     |                                 ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:18:18
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  16 | |             ReferenceData::empty(),
[INFO] [stdout]  17 | |             &$hashes,
[INFO] [stdout]  18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]     | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout]  19 | |         )
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________temporary value is freed at the end of this statement
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 101 |               u64::deserialize(deserializer!(HASHES, FIRST)).unwrap(),
[INFO] [stdout]     |                                ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:18:18
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  16 | |             ReferenceData::empty(),
[INFO] [stdout]  17 | |             &$hashes,
[INFO] [stdout]  18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]     | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout]  19 | |         )
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________temporary value is freed at the end of this statement
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 105 |               u64::deserialize(deserializer!(HASHES, SECOND)).unwrap(),
[INFO] [stdout]     |                                ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:15:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |            &mut ValueDeserializer::new(
[INFO] [stdout]     |   _________-    ^
[INFO] [stdout]     |  |______________|
[INFO] [stdout]  16 | ||             ReferenceData::empty(),
[INFO] [stdout]  17 | ||             &$hashes,
[INFO] [stdout]  18 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout]  19 | ||         )
[INFO] [stdout]     | ||         ^
[INFO] [stdout]     | ||         |
[INFO] [stdout]     | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]     |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]     |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 116 |                String::deserialize(deserializer!(HASHES, FIRST)).unwrap(),
[INFO] [stdout]     |                                    ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:15:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |            &mut ValueDeserializer::new(
[INFO] [stdout]     |   _________-    ^
[INFO] [stdout]     |  |______________|
[INFO] [stdout]  16 | ||             ReferenceData::empty(),
[INFO] [stdout]  17 | ||             &$hashes,
[INFO] [stdout]  18 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout]  19 | ||         )
[INFO] [stdout]     | ||         ^
[INFO] [stdout]     | ||         |
[INFO] [stdout]     | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]     |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]     |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 120 |                String::deserialize(deserializer!(HASHES, SECOND)).unwrap(),
[INFO] [stdout]     |                                    ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:18:18
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  16 | |             ReferenceData::empty(),
[INFO] [stdout]  17 | |             &$hashes,
[INFO] [stdout]  18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]     | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout]  19 | |         )
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________temporary value is freed at the end of this statement
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 116 |               String::deserialize(deserializer!(HASHES, FIRST)).unwrap(),
[INFO] [stdout]     |                                   ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:18:18
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  16 | |             ReferenceData::empty(),
[INFO] [stdout]  17 | |             &$hashes,
[INFO] [stdout]  18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]     | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout]  19 | |         )
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________temporary value is freed at the end of this statement
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 120 |               String::deserialize(deserializer!(HASHES, SECOND)).unwrap(),
[INFO] [stdout]     |                                   ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:15:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |            &mut ValueDeserializer::new(
[INFO] [stdout]     |   _________-    ^
[INFO] [stdout]     |  |______________|
[INFO] [stdout]  16 | ||             ReferenceData::empty(),
[INFO] [stdout]  17 | ||             &$hashes,
[INFO] [stdout]  18 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout]  19 | ||         )
[INFO] [stdout]     | ||         ^
[INFO] [stdout]     | ||         |
[INFO] [stdout]     | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]     |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]     |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 135 |                String::deserialize(deserializer!(HASHES, FIRST)).unwrap(),
[INFO] [stdout]     |                                    ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:15:14
[INFO] [stdout]     |
[INFO] [stdout]  15 |            &mut ValueDeserializer::new(
[INFO] [stdout]     |   _________-    ^
[INFO] [stdout]     |  |______________|
[INFO] [stdout]  16 | ||             ReferenceData::empty(),
[INFO] [stdout]  17 | ||             &$hashes,
[INFO] [stdout]  18 | ||             &mut std::io::Cursor::new($slice),
[INFO] [stdout]  19 | ||         )
[INFO] [stdout]     | ||         ^
[INFO] [stdout]     | ||         |
[INFO] [stdout]     | ||_________temporary value is freed at the end of this statement
[INFO] [stdout]     |  |_________creates a temporary value which is freed while still in use
[INFO] [stdout]     |            borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 139 |                String::deserialize(deserializer!(HASHES, SECOND)).unwrap(),
[INFO] [stdout]     |                                    ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:18:18
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  16 | |             ReferenceData::empty(),
[INFO] [stdout]  17 | |             &$hashes,
[INFO] [stdout]  18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]     | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout]  19 | |         )
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________temporary value is freed at the end of this statement
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 135 |               String::deserialize(deserializer!(HASHES, FIRST)).unwrap(),
[INFO] [stdout]     |                                   ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:18:18
[INFO] [stdout]     |
[INFO] [stdout]  15 | /         &mut ValueDeserializer::new(
[INFO] [stdout]  16 | |             ReferenceData::empty(),
[INFO] [stdout]  17 | |             &$hashes,
[INFO] [stdout]  18 | |             &mut std::io::Cursor::new($slice),
[INFO] [stdout]     | |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
[INFO] [stdout]  19 | |         )
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________temporary value is freed at the end of this statement
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 139 |               String::deserialize(deserializer!(HASHES, SECOND)).unwrap(),
[INFO] [stdout]     |                                   ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:22:14
[INFO] [stdout]     |
[INFO] [stdout]  22 |           &mut ValueDeserializer::new($reference, &$hashes, &mut std::io::Cursor::new($slice))
[INFO] [stdout]     |           -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |           |    |                                                                             |
[INFO] [stdout]     |           |    |                                                                             temporary value is freed at the end of this statement
[INFO] [stdout]     |           |    creates a temporary value which is freed while still in use
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 157 |           String::deserialize(deserializer!(
[INFO] [stdout]     |  _____________________________-
[INFO] [stdout] 158 | |             ReferenceData::mock(REFERENCE_BYTES),
[INFO] [stdout] 159 | |             [],
[INFO] [stdout] 160 | |             FIRST
[INFO] [stdout] 161 | |         ))
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:22:14
[INFO] [stdout]     |
[INFO] [stdout]  22 |           &mut ValueDeserializer::new($reference, &$hashes, &mut std::io::Cursor::new($slice))
[INFO] [stdout]     |           -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |           |    |                                                                             |
[INFO] [stdout]     |           |    |                                                                             temporary value is freed at the end of this statement
[INFO] [stdout]     |           |    creates a temporary value which is freed while still in use
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 166 |           String::deserialize(deserializer!(
[INFO] [stdout]     |  _____________________________-
[INFO] [stdout] 167 | |             ReferenceData::mock(REFERENCE_BYTES),
[INFO] [stdout] 168 | |             [],
[INFO] [stdout] 169 | |             SECOND
[INFO] [stdout] 170 | |         ))
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:22:14
[INFO] [stdout]     |
[INFO] [stdout]  22 |           &mut ValueDeserializer::new($reference, &$hashes, &mut std::io::Cursor::new($slice))
[INFO] [stdout]     |           -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |           |    |                                                                             |
[INFO] [stdout]     |           |    |                                                                             temporary value is freed at the end of this statement
[INFO] [stdout]     |           |    creates a temporary value which is freed while still in use
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 175 |       assert!(String::deserialize(deserializer!(
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout] 176 | |         ReferenceData::mock(REFERENCE_BYTES),
[INFO] [stdout] 177 | |         [],
[INFO] [stdout] 178 | |         THIRD
[INFO] [stdout] 179 | |     ))
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:22:14
[INFO] [stdout]     |
[INFO] [stdout]  22 |         &mut ValueDeserializer::new($reference, &$hashes, &mut std::io::Cursor::new($slice))
[INFO] [stdout]     |         -----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |         |    |                                                                             |
[INFO] [stdout]     |         |    |                                                                             temporary value is freed at the end of this statement
[INFO] [stdout]     |         |    creates a temporary value which is freed while still in use
[INFO] [stdout]     |         borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 183 |         String::deserialize(deserializer!(ReferenceData::mock(REF_BYTES_4), [], FOURTH)).is_err()
[INFO] [stdout]     |                             ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:22:64
[INFO] [stdout]     |
[INFO] [stdout]  22 |           &mut ValueDeserializer::new($reference, &$hashes, &mut std::io::Cursor::new($slice))
[INFO] [stdout]     |           -------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |           |                                                      |                           |
[INFO] [stdout]     |           |                                                      |                           temporary value is freed at the end of this statement
[INFO] [stdout]     |           |                                                      creates a temporary value which is freed while still in use
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 157 |           String::deserialize(deserializer!(
[INFO] [stdout]     |  _____________________________-
[INFO] [stdout] 158 | |             ReferenceData::mock(REFERENCE_BYTES),
[INFO] [stdout] 159 | |             [],
[INFO] [stdout] 160 | |             FIRST
[INFO] [stdout] 161 | |         ))
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:22:64
[INFO] [stdout]     |
[INFO] [stdout]  22 |           &mut ValueDeserializer::new($reference, &$hashes, &mut std::io::Cursor::new($slice))
[INFO] [stdout]     |           -------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |           |                                                      |                           |
[INFO] [stdout]     |           |                                                      |                           temporary value is freed at the end of this statement
[INFO] [stdout]     |           |                                                      creates a temporary value which is freed while still in use
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 166 |           String::deserialize(deserializer!(
[INFO] [stdout]     |  _____________________________-
[INFO] [stdout] 167 | |             ReferenceData::mock(REFERENCE_BYTES),
[INFO] [stdout] 168 | |             [],
[INFO] [stdout] 169 | |             SECOND
[INFO] [stdout] 170 | |         ))
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:22:64
[INFO] [stdout]     |
[INFO] [stdout]  22 |           &mut ValueDeserializer::new($reference, &$hashes, &mut std::io::Cursor::new($slice))
[INFO] [stdout]     |           -------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |           |                                                      |                           |
[INFO] [stdout]     |           |                                                      |                           temporary value is freed at the end of this statement
[INFO] [stdout]     |           |                                                      creates a temporary value which is freed while still in use
[INFO] [stdout]     |           borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 175 |       assert!(String::deserialize(deserializer!(
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout] 176 | |         ReferenceData::mock(REFERENCE_BYTES),
[INFO] [stdout] 177 | |         [],
[INFO] [stdout] 178 | |         THIRD
[INFO] [stdout] 179 | |     ))
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/tests.rs:22:64
[INFO] [stdout]     |
[INFO] [stdout]  22 |         &mut ValueDeserializer::new($reference, &$hashes, &mut std::io::Cursor::new($slice))
[INFO] [stdout]     |         -------------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |         |                                                      |                           |
[INFO] [stdout]     |         |                                                      |                           temporary value is freed at the end of this statement
[INFO] [stdout]     |         |                                                      creates a temporary value which is freed while still in use
[INFO] [stdout]     |         borrow later used here
[INFO] [stdout] ...
[INFO] [stdout] 183 |         String::deserialize(deserializer!(ReferenceData::mock(REF_BYTES_4), [], FOURTH)).is_err()
[INFO] [stdout]     |                             ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout]     = note: this error originates in the macro `deserializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `serde-prc` (lib test) due to 48 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "b515524220d69abd1e70df32ee6dc7ce6f1accc56e3608bc05c3fdc0c49383f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b515524220d69abd1e70df32ee6dc7ce6f1accc56e3608bc05c3fdc0c49383f2", kill_on_drop: false }`
[INFO] [stdout] b515524220d69abd1e70df32ee6dc7ce6f1accc56e3608bc05c3fdc0c49383f2
